#include<bits/stdc++.h> 

using namespace std;
const int N=1e5+10;
int a[N];
int ret;
priority_queue<int,vector<int>,greater<int>> heap;
int main( )
{             
    string s;
    cin>>s;
    for(int i=0;i<s.size();i++)
    {
        a[s[i]]++;
    }
    int st[N]={0};             
    for(int i=0;i<s.size();i++)
    {
        if(st[s[i]]!=1)
        {
            heap.push(a[s[i]]);
            st[s[i]]=1;
        }
    }
    while(heap.size()>1)
    {
        //如果能拿出来两个
        int x=heap.top();heap.pop();
        int y=heap.top();heap.pop();
        ret+=x+y;
        heap.push(x+y);
    }
    cout<<ret<<endl;
    return 0;
}